package main

import (
    "flag"
    "log"
    "adkr/pkg/turritopsis"
)

// Minimal runner: uses StubACS and disables KR to keep binary small for experiments.
func main() {
    var sid string
    var pid, n, f, epochs int
    flag.StringVar(&sid, "sid", "turritopsis", "session id")
    flag.IntVar(&pid, "pid", 0, "process id")
    flag.IntVar(&n, "n", 4, "number of nodes")
    flag.IntVar(&f, "f", 1, "faults")
    flag.IntVar(&epochs, "epochs", 1, "epochs to run")
    flag.Parse()

    logger := log.Default()
    cfg := turritopsis.Defaults()
    cfg.SID = sid
    cfg.PID = pid
    cfg.N = n
    cfg.F = f
    cfg.Epochs = epochs
    cfg.ACS = turritopsis.StubACS(logger)
    cfg.KeyRefreshOne = nil // keep KR off for minimal experiment path

    proto := turritopsis.New(cfg, logger)
    if err := proto.Run(); err != nil {
        logger.Printf("Turritopsis(min) failed: %v", err)
    }
}





